Replace libjansson JSON parser with a custom one
authorGéza Herman <geza.herman@gmail.com>
Wed, 6 Mar 2024 12:14:50 +0000 (13:14 +0100)
committerEli Zaretskii <eliz@gnu.org>
Sat, 30 Mar 2024 07:21:35 +0000 (10:21 +0300)
commita5df4d92e37a176396577ac901b85025a6952376
treef2a8039b2cb9caeb868564fdfb772407d3d8c886
parent21af3a9d9706baa417298e70260efa3fce72c6f1
Replace libjansson JSON parser with a custom one

* src/json.c (json_parse_error, json_to_lisp)
(json_read_buffer_callback): Remove functions.
(struct json_parser): New struct.
(json_signal_error, json_parser_init, json_parser_done)
(json_make_object_workspace_for_slow_path)
(json_make_object_workspace_for, json_byte_workspace_reset)
(json_byte_workspace_put_slow_path, json_byte_workspace_put)
(json_input_at_eof, json_input_switch_to_secondary)
(json_input_get_slow_path, json_input_get)
(json_input_get_if_possible, json_input_put_back)
(json_skip_whitespace_internal, json_skip_whitespace)
(json_skip_whitespace_if_possible, json_hex_value)
(json_parse_unicode, json_handle_utf8_tail_bytes)
(json_parse_string, json_create_integer, json_create_float)
(json_parse_number, json_parse_array)
(json_parse_object_member_value, json_parse_object)
(json_is_token_char, json_parse_value, json_parse): New functions.
(Fjson_parse_buffer, Fjson_parse_string): Adjust to changes in the
parser.
(syms_of_json): DEFSYM new symbols and define_error new errors.
src/json.c